package main

import "fmt"

type Animal struct {
	name string
	age  int
}

func New() *Animal {
	t := new(Animal)
	fmt.Printf("in constructor: %T %[1]p %[1]v\n", t)
	return t
}

func NewAnimal(name string, age int) *Animal {
	t := Animal{name: name, age: age}
	return &t
}
func main() {
	var a3 = NewAnimal("Vic", 51)
	fmt.Printf("a3: %T %[1]p %[1]v\n", a3)
}
